SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE Procedure [dbo].[SP_TCMOVI_BANC_U03]        
/*-------------------------------------------------------*/        
/*---Empresa              : OFISIS S.A.                --*/        
/*---Cliente              : OFISIS                 --*/        
/*---Sistema              : Tesoreria                  --*/        
/*---M¸dulo               : Empresa                    --*/        
/*---Programa             : Actualizacion Tipo Operac. --*/         
/*---                       Bancos                     --*/        
/*---Script               : tcmovi_b.sql               --*/        
/*---Nombre SP            : SP_TCMOVI_BANC_U03         --*/        
/*---Desarrollado por     : Javier Flores A.           --*/        
/*---Fecha Creaci¸n       : 15/11/1999                 --*/        
/*---Base Datos           : Microsoft Sql Server       --*/        
/*---Versi¸n              : 7.0                        --*/        
/*---Invoca a SP          :                            --*/        
/*-------------------------------------------------------*/        
        
/*-------------------------------------------------------*/        
/*---Modificado 1 por     : Maribel Julca Rodriguez      --*/        
/*---Fecha Modificaci©n   : 20/04/2005                   --*/         
/*---Detalle Modificaci©n : ingreso de los campos CO_USUA_CREA Y CO_USUA_MODI                           --*/        
/*-------------------------------------------------------*/     
/*-------------------------------------------------------*/        
/*---Modificado 1 por     : Miguel Carrasco      --*/        
/*---Fecha Modificaci©n   : 02/07/2009                   --*/         
/*---Detalle Modificaci©n : CO_ORDE_SERV = NULL                          --*/        
/*-------------------------------------------------------*/     
        
/*-------------------------------------------------------*/        
/*---Comentarios                                       --*/        
/*---                                                  --*/        
/*---                                                  --*/        
/*-------------------------------------------------------*/        
        
/*-------------------------------------------------------*/        
/*---Drop Proc SP_TCMOVI_BANC_U03                      --*/        
/*---Grant all on SP_TCMOVI_BANC_U03 to public         --*/         
/*---SP_TCMOVI_BANC_U03                                --*/        
/*-------------------------------------------------------*/        
 @ISCO_EMPR TD_VC_002,         
 @ISCO_USUA_MODI TD_VC_008_USUA,        
 @ISCO_UNID_CONC TD_VC_003,
 @ISCO_TIPO_OPER TD_VC_003,        
 @ISCO_SUBR TD_VC_003,        
 @ISCO_BANC TD_VC_003,         
 @ISNU_CNTA_BANC TD_VC_020,        
 @ISAA_BNCO TD_VC_004,         
 @ISMM_BNCO TD_VC_002,         
 @ISTI_MOVI_BANC TD_VC_001,          
 @ISNU_COMP_BANC TD_VC_008  
 As  
declare        
 @VNNU_LONG_ASTO  TD_IN_001,        
 @VSCO_UNID_CNTB      TD_VC_003,        
 @VDFE_OPER  TD_DT_001,         
 @VSST_INTE_BACH  TD_VC_001,        
 @VSST_ASTO_RESU  TD_VC_001,        
 @VSCO_TIPO_OPNC  TD_VC_003,        
 @VSCO_TIPO_OPNA  TD_VC_003,        
 @VSNU_COMP_BANC  TD_VC_010        
        
 Begin Tran SP_TCMOVI_BANC_U03        
        
        
  Select @VSST_INTE_BACH = ST_INTE_BACH ,        
  @VSCO_TIPO_OPNA = CO_TIPO_OPER ,        
  @VSCO_TIPO_OPNC = CO_TIPO_OPEG         
  From   TMPARA_TESO         
  Where  CO_EMPR = @ISCO_EMPR        
        
  Select @VSST_ASTO_RESU = Max(IsNull( t1.ST_ASTO_RESU, 'S'))        
  From   TMOPRC_RESU t1 , TDTIPO_OPER t2        
  Where  t2.CO_EMPR = @ISCO_EMPR And        
  t2.CO_TIPO_OPER = @ISCO_TIPO_OPER And        
  t1.CO_EMPR = t2.CO_EMPR And        
  t1.CO_OPRC_CNTB = t2.CO_OPRC_CNTB        
        
  Select @VNNU_LONG_ASTO = Len(RTrim(LTrim(IsNull(NU_COMP_BANC, '')))),        
  @VSCO_UNID_CNTB = CO_UNID_CONC,        
  @VDFE_OPER = FE_OPER          
  From   TCMOVI_BANC        
   Where   CO_EMPR = @ISCO_EMPR        
   And     CO_UNID_CONC = @ISCO_UNID_CONC
   And     CO_BANC = @ISCO_BANC        
   And     NU_CNTA_BANC = @ISNU_CNTA_BANC        
   And     AA_BNCO = @ISAA_BNCO        
   And     MM_BNCO = @ISMM_BNCO         
   And     TI_MOVI_BANC = @ISTI_MOVI_BANC     
   And     NU_COMP_BANC = @ISNU_COMP_BANC         
   And     ( CO_TIPO_OPER = @VSCO_TIPO_OPNC Or CO_TIPO_OPER = @VSCO_TIPO_OPNA)        
        
        
  /*Busco el ultimo correlativo usado para insertar el nro de comprobante*/      
/*       
  If @VSST_INTE_BACH = 'N' AND @VSST_ASTO_RESU = 'N' And @VNNU_LONG_ASTO != 0   -- SI ES INTERFASE EN LINEA Y ES DETALLADA  Y NO TIENE ASIENTO         
 BEGIN         
  Exec SP_TTULTI_ASTO_Q01 @ISCO_EMPR, @ISCO_USUA_MODI, @VSCO_UNID_CNTB, @ISCO_TIPO_OPER, @VDFE_OPER,         
     @VSNU_COMP_BANC OUTPUT        
          
   Update TCMOVI_BANC         
   Set CO_TIPO_OPER = @ISCO_TIPO_OPER, CO_SUBR = @ISCO_SUBR,         
   NU_COMP_BANC = @VSNU_COMP_BANC,         
   CO_ENTR_REND = NULL, FE_USUA_MODI = Getdate(), CO_USUA_MODI = @ISCO_USUA_MODI        
     Where   CO_EMPR = @ISCO_EMPR        
     And           
  CO_BANC = @ISCO_BANC        
     And     NU_CNTA_BANC = @ISNU_CNTA_BANC        
     And     AA_BNCO = @ISAA_BNCO        
     And     MM_BNCO = @ISMM_BNCO         
     And     TI_MOVI_BANC = @ISTI_MOVI_BANC        
     And     NU_COMP_BANC = @ISNU_COMP_BANC        
        
  If @@error <> 0          
  Begin          
   Rollback tran          
   Return          
  End          
          
  Select @ISNU_COMP_BANC = @VSNU_COMP_BANC        
        
 END            
   Else            
 Begin          
*/     
    Update TCMOVI_BANC Set CO_TIPO_OPER = @ISCO_TIPO_OPER, CO_SUBR = @ISCO_SUBR,         
    CO_ENTR_REND = NULL, CO_ORDE_SERV = NULL,FE_USUA_MODI = Getdate(), CO_USUA_MODI = @ISCO_USUA_MODI        
    Where   CO_EMPR = @ISCO_EMPR        
    And     CO_UNID_CONC = @ISCO_UNID_CONC
    And     CO_BANC = @ISCO_BANC        
    And     NU_CNTA_BANC = @ISNU_CNTA_BANC        
    And     AA_BNCO = @ISAA_BNCO        
    And     MM_BNCO = @ISMM_BNCO         
    And     TI_MOVI_BANC = @ISTI_MOVI_BANC         
    And     NU_COMP_BANC = @ISNU_COMP_BANC        
         
    If @@error <> 0        
       Begin        
         Rollback tran        
         Return        
       End        
        
-- End        
        
   Update TTBANC_ANUL Set CO_TIPO_OPER = @ISCO_TIPO_OPER,        
          FE_USUA_MODI = Getdate(), CO_USUA_MODI = @ISCO_USUA_MODI        
   Where   CO_EMPR = @ISCO_EMPR        
   And     CO_UNID_CONC = @ISCO_UNID_CONC
   And     CO_BANC = @ISCO_BANC        
   And     NU_CNTA_BANC = @ISNU_CNTA_BANC        
   And     AA_BNCO = @ISAA_BNCO        
   And     MM_BNCO = @ISMM_BNCO         
   And     TI_MOVI_BANC = @ISTI_MOVI_BANC         
   And     NU_COMP_BANC = @ISNU_COMP_BANC        
        
   If @@error <> 0        
      Begin        
        Rollback tran        
        Return        
      End        
        
 Commit Tran        
        
 SELECT @ISNU_COMP_BANC        
 RETURN        
        
/*------------------------- Fin ------------------------------*/


GO
